package de.g18.llmaa.gui.workspace.internalFrame.product;

import java.util.HashMap;

import javax.swing.JComponent;

import de.g18.llmaa.gui.workspace.internalFrame.IInternalFrame_Beobachter;

/**
 * Schnittstelle für das Fenster Produkt Model, welche alle Sichtbaren
 * Information zu einem Produkt innerhalb eines Fensters
 * {@link InternalFrame_Product} beinhaltet.
 * 
 * @author Gruppe LLMAA
 * 
 */
public interface IInternalFrame_Product_Model {

	/**
	 * getter für alle sichtbaren Elemente (Tabs)
	 * 
	 * @return Key - Der TabTitel<br>
	 *         Value - Das anzeige Component
	 */
	HashMap<String, JComponent> getVisibleElements();

	/**
	 * Hinzufügen eines Sichtbaren Tabs
	 * @param string
	 * @param jPanelProduct
	 */
	void addVisibleElement(String string, JComponent visibleComponent);

	void registerBeobachter(IFrame_Product_Beobachter tabbedPaneProduct);

}
